package com.tsk.example;

/**
 * @author: 黄嘉振
 * @create: 2023/6/7 14:50
 * @description:
 **/
/**
 * @ActiveProfiles 注解用来指定测试用例要加载的Spring Boot配置。
 *  在进行单元测试时，通常我们会在测试模块的resources目录中放置一个名为
 *  application-{profile}.properties或application-{profile}.yaml
 *  的配置文件，测试用例会根据@ActiveProfiles注解中设置的profile加载对应的配置文件
 */

import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 *  @RunWith 用于指定JUnit的运行环境，Runner是JUnit提供测试环境接口扩展。
 *  SpringJUnit4ClassRunner是Spring Boot提供的Junit测试环境扩展实现，
 *  会为使用Spring的依赖注入初始化各个测试类
 */
@RunWith(SpringJUnit4ClassRunner.class)
/**
 *  @SpringBootTest 注解用来配置 Spring Boot 测试用例的 ApplicationContext，
 *  其中 webEnvironment=RANDOM_PORT 表示启动服务时使用随机端口以避免端口冲突。
 */
@SpringBootTest(classes = ExampleApplication.class,
        webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public abstract class WithSpringTestBase {
}
